package com.bridgeintelligent.tag.user.query.mapper;


import com.bridgeintelligent.tag.user.mgmt.pojo.Role;
import com.bridgeintelligent.tag.user.mgmt.pojo.TagPermission;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 角色持久层
 */
@Mapper
public interface RoleQueryMapper {


    /**
     * 校验角色名是否重复
     *
     * @param rolename
     * @return
     */
    int checkRoleName(String rolename);

    /**
     * 根据角色id查询角色名
     *
     * @param roleId
     * @return
     */
    String findRoleNameById(String roleId);

    /**
     * 根据角色id查询单个角色信息
     *
     * @param roleId
     * @return
     */
    Role findOneByRoleId(String roleId);

    /**
     * 根据角色id查询其所有权限id集合
     *
     * @param roleId
     * @return
     */
    List<String> findPowerByRoleId(String roleId);

    /**
     * 查询所有角色
     *
     * @return
     */
    List<Role> findAllRole();

    /**
     * 分页条件查询
     * @param queryCondition
     * @return
     */
//	Page<Role> findPageRole(Map<String, Object> queryCondition);

    /**
     * 获取用户列表
     *
     * @param roleName
     * @return
     */
    List<Role> findList(@Param("roleName") String roleName);


    /**
     * 获取用户列表
     *
     * @param roleName
     * @return
     */
    List<Role> findByName(@Param("roleName") String roleName);

    /**
     * 获取标签权限
     * @param roleId
     * @return
     */
    List<TagPermission> findTagPermsByRoleId(@Param("roleId") String roleId);


}